<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>

    <!-- <script src="js/index.js"></script> -->
    <script>
        //1.标识符: 变量名  函数名  属性名  函数的参数
        //    命名规范: 
        //     1. 由数字、字母、_、$ 组成
        //     2. 不能以数字开头
        //     3. 区分大小写
        //     4. 不能是关键字、保留字 
        //     5. 尽量使用驼峰命名

        //2.变量 :  用于存储单个可变信息的容器
        // 1. 声明变量的关键字 var
        // 2. 声明多个变量用逗号分隔
        // 3. 变量没有类型，变量的类型取决于值
        // 4. 使用var关键字声明的变量会声明提升
        // 5. 未声明的变量直接使用会报错

        //3.五种基本数据类型
        // null       空类型     var a = null;    声明变量有值，值为null
        // undefined  未定义     var a;    声明变量未赋值
        // console.log(null == undefined); // true 
        // console.log(null === undefined); // false
        // null只能和undefined相等，还有它本身

        // number     数字
        // NaN : not a number  不是一个数字
        // 无法转换为数字就是NaN
        // var a = 0.1123;

        // string     字符串
        // 字符串的长度:  字符串.length
        // 字符串取值: 字符串[下标]   下标从0开始
        // var a = 'null';
        // console.log(a[1]);
        // document.write('<b>' + a[1]) + '</b>';

        // boolean    布尔
        // 真  true
        // 假  false

        //4.一种复杂数据类型
        // object

        //5.数据类型检测 typeof     typeof()
        // typeof 返回字符串类型
        // 双重检测一定是字符串类型
        // var a = '11';
        // var b = 123;
        // var c = true;
        // var d = null;
        // var e;
        // console.log(typeof d); //object
        // console.log(typeof a); //string
        // console.log(typeof b); //number
        // console.log(typeof c); //boolean
        // console.log(typeof e); //undefined

        // 6. + 号的特殊作用
        //  一端字符串 拼接
        //  两端都是数字相加
        //  隐式转换
    </script>
</body>

</html>